/*
 * This is a sample JavaScript file used by BaiduMapLocation
 *
 * You can delete this file if you want
 */

let map_config = $('#map_config');
let point_value = map_config.attr('point_value').split(',');
let input_id = map_config.attr('input_id');

var map = new BMapGL.Map('location-map-container');
map.enableScrollWheelZoom(true);

var point = new BMapGL.Point(point_value[0], point_value[1]);
map.centerAndZoom(point, 13);
var marker = new BMapGL.Marker(point, {
    enableDragging: true
}); // 创建标注
map.addOverlay(marker);
map.addEventListener('click', function(e) {
    $('#' + input_id).val(e.latlng.lng + ',' + e.latlng.lat);
    var cpoint = new BMapGL.Point(e.latlng.lng, e.latlng.lat);
    var cmarker = new BMapGL.Marker(cpoint, {
        enableDragging: true
    }); // 创建标注
    map.clearOverlays();
    map.centerAndZoom(cpoint, 16);
    map.addOverlay(cmarker);
});

var ac = new BMapGL.Autocomplete( //建立一个自动完成的对象
    {
        "input": "suggestId",
        "location": map
    });

function G(id) {
    return document.getElementById(id);
}

ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件
    var str = "";
    var _value = e.fromitem.value;
    var value = "";
    if (e.fromitem.index > -1) {
        value = _value.province + _value.city + _value.district + _value.street + _value.business;
    }
    str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;

    value = "";
    if (e.toitem.index > -1) {
        _value = e.toitem.value;
        value = _value.province + _value.city + _value.district + _value.street + _value.business;
    }
    str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
    G("searchResultPanel").innerHTML = str;
});

var myValue;
ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件
    var _value = e.item.value;
    myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
    G("searchResultPanel").innerHTML = "onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
    setPlace();
});

function setPlace() {
    map.clearOverlays(); //清除地图上所有覆盖物
    function myFun() {
        var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
        map.centerAndZoom(pp, 16);
        map.addOverlay(new BMapGL.Marker(pp, {
            enableDragging: true
        })); //添加标注
    }
    var local = new BMapGL.LocalSearch(map, { //智能搜索
        onSearchComplete: myFun
    });
    local.search(myValue);
}

function originalposition() {
    $('#' + input_id).val(point_value[0] + ',' + point_value[1]);
    map.clearOverlays();
    map.centerAndZoom(point, 16);
    map.addOverlay(marker);
}